home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il / ilVkViewer.z / ilVkViewer
Encoding:
Text File  |  2002-10-03  |  28.8 KB  |  661 lines

  1.  
  2.  
  3.  
  4. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr - dynamically displays multiple ilImages
  10.  
  11.  
  12. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  13.      ilVkComponent
  14.  
  15.  
  16. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  17.      #include <il/ilVkViewer.h>
  18.  
  19.  
  20. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  21.      This component displays one or more ilImages in an SSSSggggVVVViiiissssuuuuaaaallllDDDDrrrraaaawwwwiiiinnnnggggAAAArrrreeeeaaaa
  22.      widget. An XmForm is used as the base widget of the component and the
  23.      component is created as a child of the parent widget specified in the
  24.      constructor.  The drawing area is created with a visual to match the
  25.      attributes specified by arguments passed to the constructor. For example,
  26.      _R_G_B mode, _D_o_u_b_l_e _B_u_f_f_e_r mode and _S_t_e_r_e_o mode may be enabled or disabled.
  27.      ilVkViewer also allows the type of drawing area to be switched on the
  28.      fly. A new drawing area is created as needed, and a VkDeck is used to
  29.      hold the drawing areas. For convenience, the current drawing area may be
  30.      accessed.  In addition, ilVkViewer supports borders in the _o_v_e_r_l_a_y plane.
  31.  
  32.      An iiiillllVVVViiiieeeewwwweeeerrrr object is created to display the images within the drawing
  33.      area. The left mouse button is used to _d_r_a_g images within the drawing
  34.      area or to _w_i_p_e the edges of the image when near the edge. The middle
  35.      mouse  button is used to _p_a_n the image. These interactive functions are
  36.      provided by ilViewer. See iiiillllVVVViiiieeeewwwweeeerrrr(3) for more information.
  37.  
  38.      The ilViewer object may be accessed to perform additional image
  39.      manipulation.  Virtual _c_a_l_l_b_a_c_k_s are provided to handle expose, input and
  40.      resize events. The default implementation of these callbacks may be
  41.      overridden by a derived class. See ilViewer man page for more
  42.      information.
  43.  
  44. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  45.      CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
  46.  
  47.           ilVkViewer(const char *, Widget)
  48.           ilVkViewer(const char *)
  49.           ilVkViewer(const char *, Widget, int attributes,
  50.                      int minComponentSize=8, int maxComponentSize=0)
  51.  
  52.      QQQQuuuueeeerrrryyyy mmmmeeeetttthhhhooooddddssss
  53.  
  54.           const char * className()
  55.           ilViewer* getViewer()
  56.           int isRGB()
  57.           int isDouble()
  58.           int isStereo()
  59.           void getSize(int& width, int& height)
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  71.  
  72.  
  73.  
  74.      DDDDrrrraaaawwwwiiiinnnngggg aaaarrrreeeeaaaa ccccoooonnnnttttrrrroooollll
  75.  
  76.           int addDrawArea(int attributes=ilVisDoubleBuffer,
  77.                           int minComponentSize=8, int maxComponentSize=0)
  78.           void popDrawArea(int drawMode)
  79.           Widget getDrawArea()
  80.           void sizeToFitImages(int maxWidth=0, int maxHeight=0)
  81.  
  82.      OOOOvvvveeeerrrrllllaaaayyyy ccccoooonnnnttttrrrroooollll
  83.  
  84.           void addOverlay()
  85.           Widget getOverlay()
  86.           void clearOverlay(Display* dpy, int x = 0, int y = 0,
  87.                             int w = 0, int h = 0)
  88.           void enableOverlayBorders(int enable)
  89.  
  90.      AAAAddddddddiiiinnnngggg////ooooppppeeeennnniiiinnnngggg////ssssaaaavvvviiiinnnngggg vvvviiiieeeewwwweeeedddd iiiimmmmaaaaggggeeeessss
  91.  
  92.           ilView* addImage(ilImage* image, int viewMode = 0)
  93.           ilView* addStereoImages(ilImage* left, ilImage* right,
  94.                                   int viewMode = 0)
  95.           virtual ilView* openFile(const char* fileName, int viewMode = 0,
  96.                                    ilStatus* status = NULL)
  97.           void openImage(Widget = NULL, XtPointer = NULL)
  98.           void printImage(Widget = NULL, XtPointer = NULL)
  99.           void saveImage(Widget = NULL, XtPointer = NULL)
  100.  
  101.      VVVViiiieeeewwww mmmmaaaannnniiiippppuuuullllaaaattttiiiioooonnnnssss
  102.  
  103.           void abut(Widget = NULL, XtPointer = NULL)
  104.           void center(Widget = NULL, XtPointer = NULL)
  105.           void deleteImage(Widget = NULL, XtPointer = NULL)
  106.           void lower(Widget = NULL, XtPointer = NULL)
  107.           void raise(Widget = NULL, XtPointer = NULL)
  108.           void selectAll(Widget = NULL, XtPointer = NULL)
  109.           void showDetail(Widget = NULL, XtPointer = NULL)
  110.           void showInfo(Widget = NULL, XtPointer = NULL)
  111.           void split(Widget = NULL, XtPointer = NULL)
  112.           void toggleBuffer(Widget = NULL, XtPointer = NULL)
  113.           void toggleRGB(Widget = NULL, XtPointer = NULL)
  114.           void toggleStereo(Widget = NULL, XtPointer = NULL)
  115.  
  116.      EEEEvvvveeeennnntttt hhhhaaaannnnddddlllliiiinnnngggg
  117.  
  118.           virtual void expose(Widget, XtPointer)  _p_r_o_t_e_c_t_e_d
  119.           virtual void resize(Widget, XtPointer)  _p_r_o_t_e_c_t_e_d
  120.           virtual void input(Widget, XEvent*)     _p_r_o_t_e_c_t_e_d
  121.           virtual void ilUpdateWidget() _p_r_o_t_e_c_t_e_d
  122.           virtual void drawBorders(ilViewCbArg* cbArg) _p_r_o_t_e_c_t_e_d
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  137.  
  138.  
  139.  
  140. FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
  141.      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr(((())))
  142.  
  143.           ilVkViewer(const char *)
  144.           ilVkViewer(const char *, Widget)
  145.           ilVkViewer(const char *, Widget, int attributes,
  146.                      int minComponentSize=8, int maxComponentSize=0)
  147.  
  148.  
  149.           The first version of the constructor simply takes the name of the
  150.           component.  The name of the object is initialized to the name
  151.           specified. The second version of the constructor takes the name of
  152.           the component and also a pointer to the parent widget. The component
  153.           is created as a child of the specified parent widget. The third
  154.           versions adds three parameters that allow the attributes of the
  155.           chosen visual to specified; see ilHwConnection(3) and check the
  156.           ffffiiiinnnnddddVVVViiiissssuuuuaaaallllBBBByyyyAAAAttttttttrrrr() for more details.  This visual is then used to
  157.           create the SgVisualDrawingArea widget in which the images are
  158.           displayed. Once the component has been created, additional drawing
  159.           areas can be added using aaaaddddddddDDDDrrrraaaawwwwAAAArrrreeeeaaaa(). Drawing areas are kept in a
  160.           VkDeck and can later be re-selected using ppppooooppppDDDDrrrraaaawwwwAAAArrrreeeeaaaa().
  161.  
  162.      aaaabbbbuuuutttt(((())))
  163.  
  164.           void abut(Widget = NULL, XtPointer = NULL)
  165.  
  166.  
  167.           This method resizes all images equally and reposition each image
  168.           relative to the adjacant image. It calls the aaaabbbbuuuutttt() method on
  169.           ilViewer. See ilViewer(3) for more information.
  170.  
  171.      aaaaddddddddDDDDrrrraaaawwwwAAAArrrreeeeaaaa(((())))
  172.  
  173.           int addDrawArea(int attributes=ilVisDoubleBuffer,
  174.                           int minComponentSize=8, int maxComponentSize=0)
  175.  
  176.  
  177.           This method creates a new SSSSggggVVVViiiissssuuuuaaaallllDDDDrrrraaaawwwwiiiinnnnggggAAAArrrreeeeaaaa widget with the
  178.           attributes specified. The new drawing area is added to the VkDeck
  179.           within the component.  By default, a drawing area is created that
  180.           supports RGB mode and double buffering.
  181.  
  182.      aaaaddddddddIIIImmmmaaaaggggeeee(((())))
  183.  
  184.           ilView* addImage(ilImage* image, int viewMode = 0)
  185.  
  186.  
  187.           This method adds another image to the current drawing area. The
  188.           viewMode is similar to the mode passed to aaaaddddddddVVVViiiieeeewwww() on ilDisplay.
  189.           See iiiillllDDDDiiiissssppppllllaaaayyyy(3) for more information.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  203.  
  204.  
  205.  
  206.      aaaaddddddddOOOOvvvveeeerrrrllllaaaayyyy(((())))
  207.  
  208.           void addOverlay()
  209.  
  210.  
  211.           This method adds an overlay drawing area on top of the VkDeck
  212.           containing the normal drawing areas. An SgVisualDrawingArea is
  213.           created with an overlay visual.  The background color is
  214.           transparent. Note that when an overlay is added, it receives all X
  215.           events regardless of which normal drawing area is being used. The
  216.           overlay drawing area may be accessed using ggggeeeettttOOOOvvvveeeerrrrllllaaaayyyy() and may
  217.           enabled or disabled using eeeennnnaaaabbbblllleeeeOOOOvvvveeeerrrrllllaaaayyyy().
  218.  
  219.      aaaaddddddddSSSStttteeeerrrreeeeooooIIIImmmmaaaaggggeeeessss(((())))
  220.  
  221.           ilView* addStereoImages(ilImage* left, ilImage* right,
  222.                                   int viewMode = 0)
  223.  
  224.  
  225.           This method adds a stereo image pair, _l_e_f_t and _r_i_g_h_t, to the
  226.           ilViewer using the specified _v_i_e_w_M_o_d_e. The ilStereoView that holds
  227.           them is returned.  This view can be manipulated using the internal
  228.           ilViewer.
  229.  
  230.      cccceeeennnntttteeeerrrr(((())))
  231.  
  232.           void center(Widget = NULL, XtPointer = NULL)
  233.  
  234.  
  235.           Centers the selected views and their corresponding images in the
  236.           window.  The views are resized to fill the window.  See iiiillllVVVViiiieeeewwwweeeerrrr(3)
  237.           man page for more information.
  238.  
  239.      ccccllllaaaassssssssNNNNaaaammmmeeee(((())))
  240.  
  241.           const char * className()
  242.  
  243.  
  244.           Returns the name of the class such as "ilVkViewer". See VkComponent
  245.           for more information.
  246.  
  247.      cccclllleeeeaaaarrrrOOOOvvvveeeerrrrllllaaaayyyy(((())))
  248.  
  249.           void clearOverlay(Display* dpy, int x = 0, int y = 0,
  250.                             int w = 0, int h = 0)
  251.  
  252.  
  253.           This method clears the overlay drawing area if it exists. The
  254.           overlay drawing area is cleared to the background color which is
  255.           transparent.
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  269.  
  270.  
  271.  
  272.      ddddeeeelllleeeetttteeeeIIIImmmmaaaaggggeeee(((())))
  273.  
  274.           void deleteImage(Widget = NULL, XtPointer = NULL)
  275.  
  276.  
  277.           Deletes the selected image or images. See iiiillllVVVViiiieeeewwwweeeerrrr(3) for more
  278.           information.
  279.  
  280.      ddddrrrraaaawwwwBBBBoooorrrrddddeeeerrrrssss(((())))
  281.  
  282.           virtual void drawBorders(ilViewCbArg* cbArg) _p_r_o_t_e_c_t_e_d
  283.  
  284.  
  285.           This virtual method draws borders around each image. If the overlay
  286.           drawing area exists and overlay borders is enabled, the borders are
  287.           drawn in the overlay. Otherwise the borders are drawn in the normal
  288.           drawing area. Many times, it is more efficient to draw borders in
  289.           the overlay drawing area.
  290.  
  291.           The default implementation uses border callbacks on ilDisplay and
  292.           supports the border styles defined by ilDisplay. However, a derived
  293.           class can define this method to draw custom borders. See
  294.           iiiillllDDDDiiiissssppppllllaaaayyyy(3) for more information.
  295.  
  296.      eeeennnnaaaabbbblllleeeeOOOOvvvveeeerrrrllllaaaayyyyBBBBoooorrrrddddeeeerrrrssss(((())))
  297.  
  298.           void enableOverlayBorders(int enable)
  299.  
  300.  
  301.           This method is used to enable (TRUE) or disable (FALSE) drawing
  302.           borders in the overlay drawing area. See aaaaddddddddOOOOvvvveeeerrrrllllaaaayyyy().
  303.  
  304.      eeeexxxxppppoooosssseeee(((())))
  305.  
  306.           virtual void expose(Widget, XtPointer)  _p_r_o_t_e_c_t_e_d
  307.  
  308.  
  309.           This virtual function is called by the expose callback when the
  310.           component is exposed. If the ilViewer object does not exist, it is
  311.           created within the current drawing area. The contents of the drawing
  312.           area are redrawn by calling the redraw method on ilViewer. A derived
  313.           class may override this virtual function.
  314.  
  315.      ggggeeeettttDDDDrrrraaaawwwwAAAArrrreeeeaaaa(((())))
  316.  
  317.           Widget getDrawArea()
  318.  
  319.  
  320.           Returns the current SSSSggggVVVViiiissssuuuuaaaallllDDDDrrrraaaawwwwiiiinnnnggggAAAArrrreeeeaaaa widget from the top of the
  321.           VkDeck.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  335.  
  336.  
  337.  
  338.      ggggeeeettttOOOOvvvveeeerrrrllllaaaayyyy(((())))
  339.  
  340.           Widget getOverlay()
  341.  
  342.  
  343.           Returns the overlay SSSSggggVVVViiiissssuuuuaaaallllDDDDrrrraaaawwwwiiiinnnnggggAAAArrrreeeeaaaa widget if it exists.
  344.           Otherwise it returns NULL.
  345.  
  346.      ggggeeeettttSSSSiiiizzzzeeee(((())))
  347.  
  348.           void getSize(int& width, int& height)
  349.  
  350.  
  351.           Returns the current size of the drawing area widget in _w_i_d_t_h and
  352.           _h_e_i_g_h_t.
  353.  
  354.      ggggeeeettttVVVViiiieeeewwwweeeerrrr(((())))
  355.  
  356.           ilViewer* getViewer()
  357.  
  358.  
  359.           Returns a pointer to the ilViewer object used within this component.
  360.           This allows additional image manipulation. See iiiillllVVVViiiieeeewwwweeeerrrr(3) man page
  361.           for more information.
  362.  
  363.      iiiillllUUUUppppddddaaaatttteeeeWWWWiiiiddddggggeeeetttt(((())))
  364.  
  365.           virtual void ilUpdateWidget() _p_r_o_t_e_c_t_e_d
  366.  
  367.  
  368.           This virtual function is called by sssseeeettttIIIImmmmaaaaggggeeee() to update the
  369.           widget(s) contained within this component, based on the current
  370.           ilImage. If the ilViewer object does not exist, it returns.
  371.           Otherwise the current image is added to the ilViewer object. A
  372.           derived class should override this function to update any widgets
  373.           that it creates.
  374.  
  375.      iiiinnnnppppuuuutttt(((())))
  376.  
  377.           virtual void input(Widget, XEvent*)     _p_r_o_t_e_c_t_e_d
  378.  
  379.  
  380.           This virtual method is called by the input callback when X input
  381.           events are received. An ilViewer object is created within the
  382.           drawing area, and handles X input events. For example, the left
  383.           mouse button is used to select images (or views) in the drawing
  384.           area. The left mouse button is also used to drag one or more image
  385.           within the drawing area. When the pointer is near the edge of an
  386.           image view, the the edges of the view can be wiped larger or
  387.           smaller. The middle mouse button is used to pan/roam the image
  388.           within it's view. A derived class may override this virtual function
  389.           and handle input events as desired. See iiiillllVVVViiiieeeewwwweeeerrrr(3) man page for
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  401.  
  402.  
  403.  
  404.           more information.
  405.  
  406.      iiiissssDDDDoooouuuubbbblllleeee(((())))
  407.  
  408.           int isDouble()
  409.  
  410.  
  411.           Returns TRUE of the currently selected drawing area supports double
  412.           buffer mode.  Otherwise it returns FALSE.
  413.  
  414.      iiiissssRRRRGGGGBBBB(((())))
  415.  
  416.           int isRGB()
  417.  
  418.  
  419.           Returns TRUE of the current drawing area supports RGB mode.
  420.           Otherwise it returns FALSE.
  421.  
  422.      iiiissssSSSStttteeeerrrreeeeoooo(((())))
  423.  
  424.           int isStereo()
  425.  
  426.  
  427.           Returns TRUE of the current drawing area supports Stereo mode.
  428.           Otherwise it returns FALSE.
  429.  
  430.      lllloooowwwweeeerrrr(((())))
  431.  
  432.           void lower(Widget = NULL, XtPointer = NULL)
  433.  
  434.  
  435.           This method causes the selected images(s) to be moved below other
  436.           images.  See llllVVVViiiieeeewwwweeeerrrr(3) for more information.
  437.  
  438.      ooooppppeeeennnnFFFFiiiilllleeee(((())))
  439.  
  440.           virtual ilView* openFile(const char* fileName, int viewMode = 0,
  441.                                    ilStatus* status = NULL)
  442.  
  443.  
  444.           Opens the specified image file and adds the image to the ilViewer
  445.           using the specified _v_i_e_w_M_o_d_e. A pointer to the ilView in which the
  446.           image is displayed is returned. The ilView can be manipulated within
  447.           the ilViewer. See ilViewer and ilView for more information.
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  467.  
  468.  
  469.  
  470.      ooooppppeeeennnnIIIImmmmaaaaggggeeee(((())))
  471.  
  472.           void openImage(Widget = NULL, XtPointer = NULL)
  473.  
  474.  
  475.           This mehtod uses a VkFileSelectionDialog to prompt for an image file
  476.           name.  The image file is opened and added to the ilViewer.
  477.  
  478.      ppppooooppppDDDDrrrraaaawwwwAAAArrrreeeeaaaa(((())))
  479.  
  480.           void popDrawArea(int drawMode)
  481.  
  482.  
  483.           This method pops the drawing area with the specified attributes to
  484.           the top of the VkDeck. This drawing area becomes the _c_u_r_r_e_n_t _d_r_a_w_i_n_g
  485.           _a_r_e_a ans is used for subsequent rendering. If the specified drawing
  486.           area does not exist, aaaaddddddddDDDDrrrraaaawwwwAAAArrrreeeeaaaa() is called to create it.
  487.  
  488.      pppprrrriiiinnnntttt(((())))
  489.  
  490.           void print(Widget = NULL, XtPointer = NULL)
  491.  
  492.  
  493.           This methods causes the selected image(s) to be printed.
  494.  
  495.      rrrraaaaiiiisssseeee(((())))
  496.  
  497.           void raise(Widget = NULL, XtPointer = NULL)
  498.  
  499.  
  500.           This method causes the selected image(s) to be moved above other
  501.           images.  See llllVVVViiiieeeewwwweeeerrrr(3) for more information.
  502.  
  503.      rrrreeeessssiiiizzzzeeee(((())))
  504.  
  505.           virtual void resize(Widget, XtPointer)  _p_r_o_t_e_c_t_e_d
  506.  
  507.  
  508.           This virtual method is called by the resize callback when the
  509.           component is resized. It updates the current size of the drawing
  510.           area.
  511.  
  512.      ssssaaaavvvveeee(((())))
  513.  
  514.           void save()
  515.  
  516.  
  517.           This methods saves the selected images to a file. The file name is
  518.           prompted for using an ilVkSaveDialog.
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  533.  
  534.  
  535.  
  536.      ssssaaaavvvveeeeIIIImmmmaaaaggggeeee(((())))
  537.  
  538.           void saveImage(Widget = NULL, XtPointer = NULL)
  539.  
  540.  
  541.           This method saves the selected images to a file.  The file name is
  542.           prompted for using an ilVkSaveDialog.
  543.  
  544.      sssseeeelllleeeeccccttttAAAAllllllll(((())))
  545.  
  546.           void selectAll(Widget = NULL, XtPointer = NULL)
  547.  
  548.  
  549.           This method selects all images within the drawing area. See also
  550.           iiiillllVVVViiiieeeewwwweeeerrrr(3).
  551.  
  552.      sssshhhhoooowwwwDDDDeeeettttaaaaiiiillll(((())))
  553.  
  554.           void showDetail(Widget = NULL, XtPointer = NULL)
  555.  
  556.  
  557.           The method pops up an ilVkDetailWindow that monitors the image under
  558.           the mouse pointer.
  559.  
  560.      sssshhhhoooowwwwHHHHiiiissssttttooooggggrrrraaaammmm(((())))
  561.  
  562.           void showHistogram(Widget = NULL, XtPointer = NULL)
  563.  
  564.  
  565.           The method pops up an ilVkHistGraph that shows a histogram of the
  566.           selected image.
  567.  
  568.      sssshhhhoooowwwwIIIInnnnffffoooo(((())))
  569.  
  570.           void showInfo(Widget = NULL, XtPointer = NULL)
  571.  
  572.  
  573.           The method pops up an ilVkInfoWindow that shows information about
  574.           the selected image.
  575.  
  576.      ssssiiiizzzzeeeeTTTTooooFFFFiiiittttIIIImmmmaaaaggggeeeessss(((())))
  577.  
  578.           void sizeToFitImages(int maxWidth=0, int maxHeight=0)
  579.  
  580.  
  581.           This method sizes the drawing area to fit the images currently
  582.           displayed.  This is intended to be called before the viewer is
  583.           managed.  The resulting drawable size will be limited by _m_a_x_W_i_d_t_h
  584.           and _m_a_x_H_e_i_g_h_t if they are non-zero.
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllVVVVkkkkVVVViiiieeeewwwweeeerrrr((((3333))))
  599.  
  600.  
  601.  
  602.      sssspppplllliiiitttt(((())))
  603.  
  604.           void split(Widget = NULL, XtPointer = NULL)
  605.  
  606.  
  607.           This method resizes all images equally and aligns each image to the
  608.           lower left corner. It calls the split method on ilViewer. See
  609.           iiiillllVVVViiiieeeewwwweeeerrrr(3) for more information.
  610.  
  611.      ttttoooogggggggglllleeeeBBBBuuuuffffffffeeeerrrr(((())))
  612.  
  613.           void toggleBuffer(Widget = NULL, XtPointer = NULL)
  614.  
  615.  
  616.           This method causes the Double Buffer mode to be toggled. It
  617.           accomplishes this be poping the drawing area with opposite buffer
  618.           mode. All other attributes remain unchainged. See ppppooooppppDDDDrrrraaaawwwwAAAArrrreeeeaaaa().
  619.  
  620.      ttttoooogggggggglllleeeeRRRRGGGGBBBB(((())))
  621.  
  622.           void toggleRGB(Widget = NULL, XtPointer = NULL)
  623.  
  624.  
  625.           This method causes the RGB mode to be toggled. It accomplishes this
  626.           be poping the drawing area with opposite RGB mode. All other
  627.           attributes remain unchainged. See ppppooooppppDDDDrrrraaaawwwwAAAArrrreeeeaaaa().
  628.  
  629.      ttttoooogggggggglllleeeeSSSStttteeeerrrreeeeoooo(((())))
  630.  
  631.           void toggleStereo(Widget = NULL, XtPointer = NULL)
  632.  
  633.  
  634.           This method causes the stereo mode to be toggled. It accomplishes
  635.           this be poping the drawing area with opposite stereo mode. All other
  636.           attributes remain unchainged. See ppppooooppppDDDDrrrraaaawwwwAAAArrrreeeeaaaa().
  637.  
  638. IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
  639.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllVVVVkkkkCCCCoooommmmppppoooonnnneeeennnntttt
  640.      className(), getImage(), getParent(), ilUpdateWidget(), setImage(),
  641.      setParent()
  642.  
  643.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm VVVVkkkkCCCCoooommmmppppoooonnnneeeennnntttt
  644.      afterRealizeHook(), baseWidget(), className(), getResources(), hide(),
  645.      installDestroyHandler(), manage(), name(), okToQuit(), operator Widget(),
  646.      removeDestroyHandler(), setDefaultResources(), show(), unmanage(),
  647.      widgetDestroyed()
  648.  
  649.  
  650. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  651.      VkComponent, ilVkComponent, ilVkSaveDialog, ilVkDetailWindow, ilVkIn-
  652.      foWindow, ilViewer, ilDisplay
  653.  
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.